package com.letoken.platform.repo.app.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 会员表
 * </p>
 *
 * @author 作者
 * @since 2023-02-01
 */
@Getter
@Setter
@TableName("fa_user")
@ApiModel(value = "FaUser对象", description = "会员表")
public class FaUser extends Model<FaUser> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("ID")
      @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("组别ID")
    @TableField("group_id")
    private Integer groupId;

    @ApiModelProperty("邀请人")
    @TableField("invited_id")
    private Integer invitedId;

    @ApiModelProperty("角色id")
    @TableField("role_id")
    private Integer roleId;

    @ApiModelProperty("身份:0=高级合伙人,1=超级合伙人,2=创世股东")
    @TableField("role_type")
    private String roleType;

    @ApiModelProperty("用户名")
    @TableField("username")
    private String username;

    @ApiModelProperty("昵称")
    @TableField("nickname")
    private String nickname;

    @ApiModelProperty("密码")
    @TableField("password")
    private String password;

    @ApiModelProperty("团队快照")
    @TableField("team_json")
    private String teamJson;

    @ApiModelProperty("团队人数")
    @TableField("team_num")
    private Integer teamNum;

    @ApiModelProperty("邀请人数")
    @TableField("invite_num")
    private Integer inviteNum;

    @ApiModelProperty("签名")
    @TableField("sign")
    private String sign;

    @ApiModelProperty("IDO授权额度")
    @TableField("empower_ido")
    private BigDecimal empowerIdo;

    @ApiModelProperty("密码盐")
    @TableField("salt")
    private String salt;

    @ApiModelProperty("电子邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty("手机号")
    @TableField("mobile")
    private String mobile;

    @ApiModelProperty("头像")
    @TableField("avatar")
    private String avatar;

    @ApiModelProperty("等级")
    @TableField("level")
    private Boolean level;

    @ApiModelProperty("性别")
    @TableField("gender")
    private Boolean gender;

    @ApiModelProperty("生日")
    @TableField("birthday")
    private LocalDate birthday;

    @ApiModelProperty("格言")
    @TableField("bio")
    private String bio;

    @ApiModelProperty("余额")
    @TableField("money")
    private BigDecimal money;

    @ApiModelProperty("积分")
    @TableField("score")
    private Integer score;

    @ApiModelProperty("连续登录天数")
    @TableField("successions")
    private Integer successions;

    @ApiModelProperty("最大连续登录天数")
    @TableField("maxsuccessions")
    private Integer maxsuccessions;

    @ApiModelProperty("上次登录时间")
    @TableField("prevtime")
    private Integer prevtime;

    @ApiModelProperty("登录时间")
    @TableField("logintime")
    private Integer logintime;

    @ApiModelProperty("登录IP")
    @TableField("loginip")
    private String loginip;

    @ApiModelProperty("失败次数")
    @TableField("loginfailure")
    private Boolean loginfailure;

    @ApiModelProperty("加入IP")
    @TableField("joinip")
    private String joinip;

    @ApiModelProperty("加入时间")
    @TableField("jointime")
    private Integer jointime;

    @ApiModelProperty("创建时间")
    @TableField("createtime")
    private Integer createtime;

    @ApiModelProperty("更新时间")
    @TableField("updatetime")
    private Integer updatetime;

    @TableField("nft1")
    private Integer nft1;

    @TableField("nft2")
    private Integer nft2;

    @TableField("nft3")
    private Integer nft3;

    @ApiModelProperty("Token")
    @TableField("token")
    private String token;

    @ApiModelProperty("状态")
    @TableField("status")
    private String status;

    @ApiModelProperty("验证")
    @TableField("verification")
    private String verification;

    @ApiModelProperty("用户登录id")
    @TableField("session_id")
    private String sessionId;

    @ApiModelProperty("是否有资格获得sls奖励")
    @TableField("has_qualified")
    private String hasQualified;

    @ApiModelProperty("父级钱包地址")
    @TableField("parentname")
    private String parentname;


    @Override
    public Serializable pkVal() {
        return this.id;
    }

}
